package com.lancoo.ccas52.pojo.vo;

import com.lancoo.ccas52.entity.TeachingClassTeacher;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @ClassName TeachingClassInput
 * @Description 新增教学班
 * @Author quin
 * @Date 2023/1/31 10:35
 */
@Data
@Builder
@ApiModel(value = "TeachingClassInput对象", description = "添加教学班")
public class TeachingClassInput implements Serializable {

    @ApiModelProperty(value = "教学班id,更新时必传",required = false)
    private Long teachingClassId;

    @ApiModelProperty(value = "任务id",required = false)
    private Integer taskId;

    @ApiModelProperty(value = "教学班名字",required = false)
    private String teachingClassName;

    @ApiModelProperty(value = "课程id||环节id",required = false)
    private Long courseId;

    @ApiModelProperty(value = "课程名",required = false)
    private String courseName;

    @ApiModelProperty(value = "学院",required = false)
    private String collegeId;

    @ApiModelProperty(value = "教学班容量-学生人数",required = false)
    private Integer classNum;

    @ApiModelProperty(value = "0无需选课 1在线选课;2:分级教学 3:预选教学班",required = false)
    private Integer teachingClassType;

    @ApiModelProperty(value = "1课程  2环节",required = false)
    private Integer flag;

    @ApiModelProperty(value = "修读性质：1主修2辅修",required = false)
    private Integer studyNature;

    @ApiModelProperty(value = "专业性质，1:公共课，2:专业课",required = false)
    private Integer majorProp;

    @ApiModelProperty(value = "教学班对应行政班 逗号分割",required = false)
    private String toClass;

    @ApiModelProperty(value = "分班标识.前端传uuid",required = false)
    private String uniqueShiftSign;

    @ApiModelProperty(value = "1单数 2双数",required = false)
    private Integer isSingle;

    @ApiModelProperty(value = "所属校区",required = true)
    private String campusId;

    @ApiModelProperty(value = "所属校区名",required = true)
    private String campusName;

    @ApiModelProperty(value = "是否可用 0已取消 1正常开班  2未设置",required = false)
    private Integer isEnable;

    @ApiModelProperty(value = "老师id",required = false)
    private List<TeachingClassTeacher> teacherIds;

    @ApiModelProperty(value = "学生id",required = false)
    private List<Long> studentIds;

    @ApiModelProperty(value = "讲授教室id",required = false)
    private Long lectureRoomId;

    @ApiModelProperty(value = "实验教室id",required = false)
    private Long experimentalRoomId;

    @ApiModelProperty(value = "上机教室id",required = false)
    private Long computerRoomId;

    @ApiModelProperty(value = "其他教室id",required = false)
    private Long otherRoomId;

    @ApiModelProperty(value = "1添加 2更新所有数据 3删除 4只更新教学班基础信息 5不处理",required = true)
    private Integer operateType;
}
